#include <stdio.h>

//课时4作业1
/*输入一个整型数，判断是否是对称数，如果是，输出yes，否则输出no，不用考虑这个整型数过大，int类型存不下，不用考虑负值；
例如 12321是对称数，输出yes，124421是对称数，输出yes，1231不是对称数，输出no*/

/*int main() {
    int num;
    scanf("%d",&num);
    //计算输入数的位数
    int count =1;
    int temp=num;
    while(temp/10)
    {
        count++;
        temp/=10;
    }
    temp=num;
    //反转数
    int sum=0;
    for(int i=0; i<count; i++)
    {
        sum=sum*10+temp%10;
        temp/=10;
    }
    if(sum == num)
    {
        printf("yes");
    }
    else
    {
        printf("no");
    }
    return 0;
}*/

//课时4作业2
/*利用while或者for循环计算n！的值。
提示：n！＝1*2*3…*n*/
/*int main()
{
    int n=0;
    scanf("%d",&n);
    int sum=1;
    for(int i=1; i<=n; i++)
    {
        sum=sum*i;
    }
    printf("%d\n",sum);
    return 0;
}*/


//课时4作业3
/*
某人想将手中的一张面值100元的人民币换成10元、5元、2元和1元面值的票子。
要求换正好40张，且每种票子至少一张。问：有几种换法？
*/
int main()
{
    int ten,five,two,one,total=0;
    for(ten=1; ten<=10; ten++)
    {
        for(five=1; five<=20; five++)
        {
            for(two=1; two<=37; two++)
            {
                for(one=1; one<=37;one++)
                {
                    if(ten+five+two+one == 40 && ten*10+five*5+two*2+one==100)
                    {
                        total++;
                    }
                }
            }
        }
    }
    printf("%d\n",total);
    return 0;
}
